package cn.stylefeng.guns.modular.agv.model.params;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import cn.stylefeng.roses.kernel.model.validator.BaseValidatingParam;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 * AGV拣货任务明细表
 * </p>
 *
 * @author zhangzh
 * @since 2024-08-06
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class AgvStorageTaskDetailParam implements Serializable, BaseValidatingParam {

    private static final long serialVersionUID = 1L;


    /**
     * 主键
     */
    private String id;

    /**
     * agv拣货任务ID
     */
    private String storageTaskId;

    /**
     * 拣货明细ID
     */
    private Long storageOutDetailId;

    /**
     * 库位id
     */
    private Long positionId;

    /**
     * 库位编号
     */
    private String positionNumber;

    /**
     * 拣货顺序
     */
    private Integer positionPickingorder;

    /**
     * 拣货顺序
     */
    private Integer positionPickingorderMin;

    /**
     * 拣货顺序
     */
    private Integer positionPickingorderMax;

    /**
     * 商品ID
     */
    private Long goodsId;

    /**
     * 商品名称
     */
    private String goodsName;

    /**
     * 商品编号
     */
    private String goodsNumber;

    /**
     * 单位
     */
    @TableField("unit")
    private String unit;

    /**
     * 换算率
     */
    @TableField("rate")
    private BigDecimal rate;
    /**
     * 数量
     */
    private BigDecimal num;

    /**
     * 实拣数量
     */
    private BigDecimal realNum;

    /**
     * 是否已拣
     */
    private String picked;

    /**
     * 拣货时间
     */
    private Date storageTime;

    private String limit;

    /**
     * 拣货人账号
     */
    private String storageUserAcct;

    /**
     * 拣货人名称
     */
    private String storageUserName;

    @Override
    public String checkParam() {
        return null;
    }

}
